package tpi.gui.panels.caso

import dominio.ubicaciones.Pais
import org.apache.wicket.markup.html.form.DropDownChoice
import org.apache.wicket.markup.html.form.Form
import org.apache.wicket.markup.html.panel.Panel
import org.apache.wicket.model.CompoundPropertyModel
import org.apache.wicket.model.PropertyModel
import org.uqbar.commons.model.UserException
import org.uqbar.wicket.xtend.WicketExtensionFactoryMethods
import org.uqbar.wicket.xtend.XButton
import tpi.gui.model.Investigacion
import org.apache.wicket.markup.html.panel.FeedbackPanel
import java.util.List
import org.apache.wicket.model.LoadableDetachableModel
import dominio.individuos.Villano
import dominio.investigacion.OrdenDeArresto
import org.uqbar.wicket.xtend.XAttributeModifier
import tpi.gui.pages.caso.ResolverCasoPage
import org.uqbar.wicket.xtend.XListView
import dominio.ubicaciones.Lugar
import org.apache.wicket.markup.html.basic.Label
import dominio.ubicaciones.Biblioteca
import dominio.ubicaciones.Club
import dominio.ubicaciones.Embajada
import dominio.ubicaciones.Banco

class VisitarLugarPanel extends Panel {
	
	extension WicketExtensionFactoryMethods = new WicketExtensionFactoryMethods
	private final Lugar lugar
		
	new(String id, Lugar lugar) {
		super(id)
		this.lugar = lugar
		this.defaultModel = lugar.asCompoundModel
		
		val Form<Lugar> form = new Form<Lugar>("lugarForm", new CompoundPropertyModel(this.lugar))
		val icono = new Label("icono", "")
		icono.add(new XAttributeModifier("class", [iconoPara(lugar)]))
		form.addChild(icono)
		form.addChild(new Label("nombreTipoLugar"))
		val listPistas = new XListView("pistas", new PropertyModel(this.lugar,"ocupante.pistas"))
		listPistas.populateItem = [item | 
			item.model = item.modelObject.asCompoundModel
			item.addChild(new Label("nombreTipoInfo"))
			item.addChild(new Label("dato"))
		]
		form.addChild(listPistas)
		addChild(form)
	}
	
	def iconoPara(Lugar lugar) {
		if (lugar instanceof Biblioteca)
			"glyphicon glyphicon-book"
		else if(lugar instanceof Club)
		    "glyphicon glyphicon-glass"
		else if(lugar instanceof Embajada)
		    "glyphicon glyphicon-flag"
		else if(lugar instanceof Banco)
		    "glyphicon glyphicon-usd"
	}
}